/*------------------------------------------------------*/
/*                                                      */
/* Copyright (C)	sky-mobi.com                        */
/* All rights reserved                                  */
/*                                                      */
/* Author   tristan.yang                                */
/*                                                      */
/* History  2011-9-08 created                           */
/*                                                      */
/*------------------------------------------------------*/

#ifndef __CONVERT_BASE_H__
#define __CONVERT_BASE_H__

#include "vcsbase.h"

#ifndef INT64_MIN
#define INT64_MIN       (-0x7fffffffffffffffLL - 1)
#endif

#ifndef INT64_MAX
#ifdef WIN32
#define INT64_MAX LONGLONG(9223372036854775807)
#else
#define INT64_MAX LONGLONG(0x8000000000000000LL)
#endif
#endif

#define SESSION_TIME_TICK	1000*5		//5s
#define LIVE_TIME_OUT		1000*30		//30s (test 3s)
#define SESSION_LIVE_TICK_TIME	12*10	//30m(SESSION_TIME_TICK*12*10)
#define LIVE_TIME_OUT_COUNT	10			//50s(SESSION_TIME_TICK*10)


class IConnection;
class CChannel;
typedef std::vector<CChannel*>		VecConnects;
typedef std::vector<CChannel*>		VecChannels;

class CSession;
typedef CRtHashMapT<StringHashKey, CSession*> SessionMap;

struct st_StreamInfo
{
	CRtString m_strUrl;
	DWORD m_dwStreamType; 
	DWORD m_dwRoomId; 
	DWORD m_dwParam;	//it's channel id now
};

#endif//__CONVERT_H__
